package com.yanqu.road.entity.player;

import com.yanqu.road.entity.DataObject;

import java.util.ArrayList;
import java.util.List;

/**
 * 用户座骑清单，记录用户获取过的座骑
 */
public class UserVehicleDetail extends DataObject {

	private long userId;

	private long modifyTime;

	private long skillModifyTotalTimes;

	private long totalDeleteCount;

	private List<Integer> templateIdList = new ArrayList<>();

	private long totalCount;

	private long qualitySixAboveTotalCount;

	private long totalUpgradeTimes;

	private long lastResetTime;

	private boolean enableAutoRecycle; // 是否启用自动放归

	private List<Integer> autoRecycleList = new ArrayList<>(); // 自动放归列表

	public long getUserId() {
		return userId;
	}

	public void setUserId(long userId) {
		if (this.userId != userId) {
			this.userId = userId;
			setUpdateOption();
		}
	}

	public long getModifyTime() {
		return modifyTime;
	}

	public void setModifyTime(long modifyTime) {
		if(this.modifyTime != modifyTime) {
			this.modifyTime = modifyTime;
			setUpdateOption();
		}
	}

    public long getSkillModifyTotalTimes() {
        return skillModifyTotalTimes;
    }

    public void setSkillModifyTotalTimes(long skillModifyTotalTimes) {
	    if(this.skillModifyTotalTimes != skillModifyTotalTimes) {
            this.skillModifyTotalTimes = skillModifyTotalTimes;
            setUpdateOption();
        }
    }

	public long getTotalDeleteCount() {
		return totalDeleteCount;
	}

	public void setTotalDeleteCount(long totalDeleteCount) {
		if(this.totalDeleteCount != totalDeleteCount) {
			this.totalDeleteCount = totalDeleteCount;
			setUpdateOption();
		}
	}

	public List<Integer> getTemplateIdList() {
		return templateIdList;
	}

	public void setTemplateIdList(List<Integer> templateIdList) {
		this.templateIdList = templateIdList;
		setUpdateOption();
	}

	public void addTemplateId(int templateId){
		if(!templateIdList.contains(Integer.valueOf(templateId))){
			templateIdList.add(templateId);
			setUpdateOption();
		}
	}

	public long getTotalCount() {
		return totalCount;
	}

	public void setTotalCount(long totalCount) {
		if(this.totalCount != totalCount) {
			this.totalCount = totalCount;
			setUpdateOption();
		}
	}

	public long getQualitySixAboveTotalCount() {
		return qualitySixAboveTotalCount;
	}

	public void setQualitySixAboveTotalCount(long qualitySixAboveTotalCount) {
		if(this.qualitySixAboveTotalCount != qualitySixAboveTotalCount) {
			this.qualitySixAboveTotalCount = qualitySixAboveTotalCount;
			setUpdateOption();
		}
	}

	public long getTotalUpgradeTimes() {
		return totalUpgradeTimes;
	}

	public void setTotalUpgradeTimes(long totalUpgradeTimes) {
		if(this.totalUpgradeTimes != totalUpgradeTimes) {
			this.totalUpgradeTimes = totalUpgradeTimes;
			setUpdateOption();
		}
	}

	public long getLastResetTime() {
		return lastResetTime;
	}

	public void setLastResetTime(long lastResetTime) {
		if(this.lastResetTime!=lastResetTime){
			this.lastResetTime = lastResetTime;
			setUpdateOption();
		}
	}

	public boolean isEnableAutoRecycle() {
		return enableAutoRecycle;
	}

	public void setEnableAutoRecycle(boolean enableAutoRecycle) {
		this.enableAutoRecycle = enableAutoRecycle;
		setUpdateOption();
	}

	public List<Integer> getAutoRecycleList() {
		return autoRecycleList;
	}

	public void setAutoRecycleList(List<Integer> autoRecycleList) {
		this.autoRecycleList = autoRecycleList;
		setUpdateOption();
	}
}
